package com.yifeng.po;

import java.io.Serializable;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;

/**
 * 角色
 */
public class Role implements Serializable {
	private Long id;
	private String sn;// 角色编号
	private String name;// 角色名称
	// 角色和权限 多对多关系
	private List<Permission> permissions = new ArrayList<Permission>();

	public Long getId() {
		return id;
	}

	public void setId(Long id) {
		this.id = id;
	}

	public String getSn() {
		return sn;
	}

	public void setSn(String sn) {
		this.sn = sn;
	}

	public String getName() {
		return name;
	}

	public void setName(String name) {
		this.name = name;
	}

	public List<Permission> getPermissions() {
		return permissions;
	}

	public void setPermissions(List<Permission> permissions) {
		this.permissions = permissions;
	}

	@Override
	public String toString() {
		return "Role [id=" + id + ", sn=" + sn + ", name=" + name + "]";
	}

	/**
	 * 获取中间表对象集合
	 *    谁提供数据，我们要使用这个数据做一些操作，还不如把这些操作封装成这个对象的方法
	 * @return
	 */
	public List<RolePermission> getRolePermissions() {
		List<RolePermission> rolePermissions = new ArrayList<RolePermission>();
		Long roleId = this.getId();
		List<Permission> permissions = this.getPermissions();
		for (Permission permission : permissions) {
			rolePermissions.add(new RolePermission(roleId, permission.getId()));
		}
		return rolePermissions;
	}

}
